
$(function () {

    let id;


    // 1.图片上传
    $('#inputCover').change(function () {
        const file = this.files[0]
        $('#coverimg').prop('src', URL.createObjectURL(file))
        // $('#coverimg').attr('src', url);
    })

    // 2.分类下拉
    function categoryList() {
        $.get('/admin/category/list', function (res) {
            let html = ""
            res.data.forEach(value => {
                html += `<option value='${value.id}'>${value.name}</option>`
            })
            $('#category').html(html)
        })
    }

    // 3.发布时间 layui 插件
    function renderData() {
        //执行一个laydate实
        layui.laydate.render({
            // 3.1获取到静态id选择器
            elem: '#articleDate'
        });
    }


    // 4.富文本
    function renderEdiote() {
        tinymce.init({
            // 4.1拿到静态id选择器
            selector: '#articleContent',
            // 4.2汉化
            language:'zh_CN',//注意大小写
        });
    }


    // 5.获取发表文章 渲染到页面
    function getArticleDetail() {

        const usp = new URLSearchParams(this.location.search)
        id = usp.get('id')
        // 发送请求
        $.get('/admin/article/search', { id }, function (res) {
            //  分解
            const { title, cover, categoryId, date, content } = res.data
            
            // 填充 渲染
            // 文本填充
            $("[name='title']").val(title)
            // 图片填充
            $('#coverimg').prop('src', cover)
            // 分类填充
            $("[name='categoryId']").val(categoryId)
            // 时间填充
            $("[name='date']").val(date)
            // 富文本填充
            $('#articleContent').val(content)
            
            
        })

        
    }


    categoryList()
    renderData()
    renderEdiote()
    getArticleDetail()



        // 7.保存
    $('.btn-edit').click(function () {
        postArticle('已发布')
        })
    
        // 8.草稿
    $('.btn-draft').click(function () {
        postArticle('')
    })
    
    // 6.发布文章
    function postArticle(state) {
        const fd = new FormData($('#form')[0])

        const content = tinyMCE.editors['articleContent'].getContent();
        fd.append('content', content)
        fd.append('state', state)
        fd.append('id', id)

        $.ajax({
            url: '/admin/article/edit',
            type: 'post',
            data: fd,
            contentType: false,
            processData: false,
            success(res) {
                console.log(res);
                if (res.code === 200) {
                    location.href='article_list.html'
                }
            }
        })
    }

        













})